If you wish to write smart contracts on the Ethereum platform, then
you can do so by using its primary language called Solidity. Solidity
was initially proposed in August 2014 by Gavin Wood who is a
British computer programmer and co-founder of Ethereum. Later on,
Solidity was further developed by the Ethereum project’s Solidity
team, led by Christian Reitwiessner. Today, Solidity is not only used
as the primary language of Ethereum, but also for many other
Ethereum Virtual Machine or EVM compatible Blockchains and DLT
platforms such as Quorum, Monax, Hyperledger Burrow, and Hedera
Hashgraph.
2.5.1 Why Learn Solidity?
Now, one may wonder why there was even a need to create a new
language when we already had so many present in the market by
2014? Yes, by the time Solidity was invented, we already had quite a
few JVM languages such as Java, Scala, Ruby etc., with the
support of rich object-oriented features. Then, why Solidity?
Well, the answer is that Solidity is a special purpose language meant
to be run on the Ethereum Virtual Machine or EVM. An EVM is
architected in a very different way where most of the transactions are
associated with some monetary value. This cost calculation was not
part of any of the JVMs. Hence, Solidity filled the gap as an object-
oriented language that can run contracts on EVM.
2.5.2 Solidity vs. Who?
Please note that Solidity is not the only language in Ethereum for
writing Smart contracts. There are others such as LLL which is the
original low-level language for Ethereum and is deprecated now. We
also have Serpent which is also deprecated today. We can also
write smart contracts on Ethereum using Vyper which was released
in 2017 and currently is the latest contract language based on
Python.
Please note that we can also write smart contracts in assembly
language or low level language or opcodes which can give us more
fine-grained access to the functionalities which are more suitable for